iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
1
Cloud Native

從零開始建立自動化發佈的流水線系列 第 17

17. CI 訊息通知 - Line(中)

  • 分享至 

  • xImage
  •  

Eric: 因為我們是經過 IFTTT 去轉發訊息到 Line,所以在串接 CI Server 時,將從 IFTTT 取回的 webhook url 跟 CI server 進行綁定。但是這做,會發生一些情況。

吉米: 什麼情況?

Eric: 操作給你看,你就知道會發生什麼事了。


01. Travis CI

在 Travis Ci 中,webhooks 的設定方式,跟設定 email 通知相同,直接到專案中的 .travis.yml 中增加指令即可。

webhooks:
    urls:
      - https://maker.ifttt.com/trigger/CI_Build_result/with/key/den2SL6fXRgg4MJUsAj27w
    on_success: change # default: always
    on_failure: always # default: always
    on_start: change   # default: never
    on_cancel: always # default: always
    on_error: always # default: always

其中,https://maker.ifttt.com/trigger/CI_Build_result/with/key/den2SL6fXRgg4MJUsAj27w 這段 url 是筆者在IFTTT 建立 Applet 後,取回來的。

LINE Notify 雖然順利收到資料,但可以發現,重要的資料沒有顯示,均為空白。

圖片20181101_222612

02. Azure DevOps

進入 Azure DevOps,進入專案後,先選擇 Project settings 後,再選取 Service hooks

接著選擇 Create subcription,建立 webhooks 的串接。

azure devops

在建立新的 service hooks 時,可以看到左側有許多可以串接的服務。可惜 Line 不在其中,所以選擇 Web Hooks 這個項目。

Azure_new_service

Azure_new_service_webhook

接下來,將從 ITFFF 取回的 webhook url 填入對應的位置。按下 Test 後,Line Notify 會立刻收到通知。

LINE Notify 雖然順利收到資料,但可以發現,重要的資料沒有顯示,均為空白。

LineNotify2

03. Jekins

研究中, 晚點更新


吉米: Line Notify 收到的訊息,全部都沒有內容耶。

Eric: 對啊,所以的要建立轉發用的 Web API ,做為 CI server 與 IFTTT 的中繼站。也因為 IFTTT 只吃特定的格式,所以在 Web API 之中,也要進行資料的對應。。

吉米: 嗯嗯。

<<待續>>

延伸閱讀

  1. Microsoft Doc, Web Hooks

上一篇
16. CI 訊息通知 - Line (上)
下一篇
18. CI 訊息通知 - Line(下)
系列文
從零開始建立自動化發佈的流水線30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言